package com.cloud.cop;

import java.util.List;
import java.util.Locale;

import org.springframework.validation.ObjectError;
import org.springframework.web.context.request.WebRequest;

/**
 * <pre>
 * 		用于处理服务的上下文
 * </pre>
 * @author mayh
 *
 */
public interface CopServiceContext {

	/**
	 * 获得服务方法
	 * @return
	 */
	public String getMethod();
	
	/**
	 * 获得sessionId
	 */
	public String getSessionId();
	
	/**
	 * 获得本地化对象
	 */
	public Locale getLocale();
	
	/**
	 * 服务的处理对象
	 */
	public CopServiceHandler getCopServiceHandler();
	
	/**
	 * 获得对应的请求对象
	 */
	public WebRequest getWebRequest();
	
	/**
	 * 返回对象
	 */
	CopResponse getCopResponse();
	
	/**
	 * 请求对象
	 */
	CopRequest getCopRequest();
	
	/**
	 * 返回对象格式
	 */
	ResponseFormat getResponseFormat();
	
	
	/**
	 * 返回APPKEY
	 */
	String getAppKey();
	
	void setCopRequest(CopRequest request);
	
	void setCopResponse(CopResponse response);
	
	/**
	 * 获得所有错误
	 * @return
	 */
	List<ObjectError> getAllErrors();
	
	/**
	 * 添加错误
	 * @return
	 */
	void setAllErrors(List<ObjectError> allErrors);
}
